1. Field of Invention
The invention generally concerns a computer-based layout of objects within a perimeter (viewing area) in a user interactive manner. In particular, the invention relates to a method of implementation for user interfaces which support concurrent execution of a plurality of application programs (xe2x80x9cobjectsxe2x80x9d) in a container application using a page layout display defined by a user for simultaneous viewing of these applications.
2. Discussion of the Prior Art
Search algorithms have been used in the past for layout tasks, such as the positioning of articles and advertisements on the pages of a newspaper or magazine. These prior programs start from a fixed set of search criteria and proceed autonomously to a solution (a satisfactory layout) that satisfies these criteria. In cases for which these criteria are discovered during the search of the program to be unsatisfiable, users are required to respecify their search criteria and start the planning process again, in the hope that their changes will enable a solution (a satisfactory layout) to be found. Conversely, when the number of possible layouts is very large, users may be confronted with a vast set of alternative possibilities from which to choose. Furthermore, the exhaustive generation of all possibilities may be so time-consuming as to render the process impractical without automated xe2x80x9cpruningxe2x80x9d (elimination of search paths) of the search tree. Such automated pruning usually results in the elimination of many potentially desirable layouts.
The dilemma presented is that selecting search criteria that are too specific results in repeated failures to obtain a satisfactory layout, while choosing search criteria in too general a manner results in a very large number of possible solutions. The former case causes inefficiency and frustration, while the latter case results in a large set of layouts that are difficult to compare, and within which specific desired positions for particular components are difficult to find.
When setting up search criteria for such a program, users are generally not aware of how the choice of a position for a particular component will affect the possible positional choices for the other components to be placed. If the consequences of such relative constraints could be made clear in an incremental manner while the user is specifying the desired positions of components, then the process of searching for and choosing a page layout could become a completely linear and deterministic one for the user.
Many real-time information data display applications comprise a container that supports simultaneous execution of several service applications (child objects) concurrently in a predefined page layout scheme without allowing a user the capability of defining content and how the page layout appears. This problem induces user inefficiency since much of the information displayed is distracting and unnecessary to the user. For example, U.S. Pat. No. 5,838,321 illustrates a user interface that displays child objects in a container application using predefined page layout protocols without automation support for a user defined page layout capability.
An example of this problem occurs with financial service information applications, where financial market quote data and other objects are concurrently displayed on one page wherein the content and layout cannot be modified. These data objects can be any combination of objects that appear simultaneously on the display. These objects include, but are not necessarily limited to, real-time quotes, tickers, charts, monitor lists, time and sales, dynamically updating market data displays covering equities, mutual funds, options, listed bonds, treasuries and futures. This information is typically displayed by initial configuration of the application display output by the container application in predefined areas in the display which cannot be customized by a user.
Thus, there is a need for a user defined page layout capability allowing any combination of service application objects in a container to be concurrently displayed on a screen or other system that outputs graphical/text information. In particular, the financial services industry needs such a capability for custom placement of financial service application objects for effective decision making purposes. The present invention addresses these problems.
The primary advantage of the present invention is to provide a user-interactive and computer-based page layout method for multiple objects that is user defined. An exemplary use of the invention is for the display of multiple service applications (child objects) in a container that are concurrently displayed on a single screen. The method allows user flexibility in how
the page layout appears by efficiently and automatically sizing objects that appear on the page by using a search method.
Further advantages of the invention include enablement of the arrangement of a selected set of graphical components (for example, service object applications) within a window (for example, a container application in a user interface) in a manner that: a) allows users to interactively exercise choice in the positioning of components; b) ensures that no components overlap; c) ensures that all available space within the container is occupied by components; d) ensures that a set of dimensional constraints associated with each component is satisfied; and e) ensures that a set of positional preferences associated with each component is considered.
This invention provides a method that guides a user through the process of positioning a set of graphical displayed output component objects within a container such that satisfactory page layouts occur if such a desired page layout is possible, regardless of what placements are selected by the user. The method provides an interactive and automated page layout that is generated without trial and error on the part of the user, while allowing the user to exercise choice when such choice is not in conflict with the goal of obtaining a satisfactory layout. The criteria defining such a satisfactory page layout are: a) no components overlap; b) the entire area available within the container is occupied by the components; c) the constraints on size associated with each individual component are satisfied; and d) the non-constraining preferences regarding size and location that are associated with each component are respected whenever they are not in conflict with user choices and the component object size constraints.
The invention is practiced in an interactive computer system having a keyboard, mouse or other user specified input device, a display, and an icon/menu driven graphical user interface capable of initiating execution of one or more object applications and capable of confining the display of these object applications provided during execution in the output display of the container application. The invention is preferably used with a container application that has multiple active objects and includes object editing tools to define a page layout of the service applications that are concurrently shown on a display screen. The page layout method provides a convenient way to create and format document pages containing a selection of child objects viewable on a screen. The page layout is defined through the user""s interaction with the method defined herein. This method is preferably included in an object editor of a container application for the display of multiple service application objects. The page layout method provides adaptive definition of the page layout of several object applications.